from PIL import Image, ImageDraw, ImageFont
import os

# 创建图片目录
img_dir = os.path.join('static', 'img')
if not os.path.exists(img_dir):
    os.makedirs(img_dir)

# 创建默认封面图片
width, height = 800, 400
background_color = (57, 192, 237)  # 蓝色背景
image = Image.new('RGB', (width, height), background_color)
draw = ImageDraw.Draw(image)

# 尝试加载字体，如果失败则使用默认字体
try:
    # 使用Windows系统字体
    font = ImageFont.truetype("arial.ttf", 60)
except IOError:
    # 使用默认字体
    font = ImageFont.load_default()

# 添加文字
text = "默认封面"

# 在较新版本的Pillow中，使用textbbox或直接绘制
try:
    # 新版Pillow (>=8.0.0)
    bbox = draw.textbbox((0, 0), text, font=font)
    text_width = bbox[2] - bbox[0]
    text_height = bbox[3] - bbox[1]
except AttributeError:
    # 旧版Pillow
    try:
        text_width, text_height = draw.textsize(text, font=font)
    except:
        # 如果都不行，则使用预估宽度
        text_width, text_height = len(text) * 30, 60

position = ((width - text_width) // 2, (height - text_height) // 2)
text_color = (255, 255, 255)  # 白色文字
draw.text(position, text, font=font, fill=text_color)

# 保存图片
output_path = os.path.join(img_dir, 'default-cover.jpg')
image.save(output_path)

print(f"默认封面图片已生成: {output_path}") 